package com.dyna.chat.service;

import com.dyna.chat.domain.entity.Message;
import com.dyna.chat.domain.req.msg.ChatMessageReq;
import com.dyna.chat.domain.resp.msg.ChatMessageResp;

public interface ChatService {

    /**
     * 发送消息
     * @param request request
     * @return ChatMessageResp
     */
    ChatMessageResp sendMsg(ChatMessageReq request);

    /**
     * 根据消息获取消息前端展示的物料
     *
     * @param msgId 消息id
     * @param receiveUid 接受消息的uid，可null
     * @return ChatMessageResp
     */
    ChatMessageResp getMsgResp(Long msgId, Long receiveUid);

    /**
     * 根据消息获取消息前端展示的物料
     *
     * @param message 消息
     * @param receiveUid 接受消息的uid，可null
     * @return ChatMessageResp
     */
    ChatMessageResp getMsgResp(Message message, Long receiveUid);

}
